<?php

namespace App\Http\Controllers\Mobile;


use App\Logics\CourseLogic;
use App\Models\User;

class CourseController extends BaseController
{
    // 一般操作
    public function initialize()
    {
        parent::initialize();
    }

    // 添加课程
    //  添加学员
    //  添加周期
    //  添加课程提醒
    public function add()
    {
        //return $this->error('b端页面需要完善');

        $myUid = $this->myUid;
        $logic = new CourseLogic();
        $res   = $logic->onAdd($myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success();
    }

    //   课程列表：我添加的课程
    public function my()
    {
        //return $this->error('b端页面需要完善');

        $myUid  = $this->myUid;
        $option = $this->optLogic();
        $option->setField('uid', $myUid);
        $option->setField('is_count', 1);

        $logic = new CourseLogic();
        $res   = $logic->onLists();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    //   课程列表：提醒我的课程
    public function join()
    {
        $myUid = $this->myUid;
        //$option = $this->optLogic();
        //$option->setField('uid', $myUid);

        $logic = new CourseLogic();
        $res   = $logic->studentCourse($myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 课程详情  course_id
    //   发布者的详情
    //   提醒我的课程详情
    public function show()
    {

        //return $this->error('b端页面需要完善');

        $myUid = $this->myUid;
        $logic = new CourseLogic();
        $res   = $logic->onShow($myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }


    // 课程详情  学员的课程详情
    //   发布者的详情
    //   提醒我的课程详情
    public function studentShow()
    {
        // 学员 看自己的课程信息
        $myUid = $this->myUid;
        $logic = new CourseLogic();
        $res   = $logic->onStudentShow($myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 请假操作
    public function onLeave()
    {
        // 签到状态
        $myUid  = $this->myUid;
        $option = $this->optLogic();
        $option->setField('status', 2);   // 状态 0-未到 1-正常 2-请假
        $option->setField('uid', $myUid);

        // 执行签到
        $logic = new CourseLogic();
        $res   = $logic->onSign();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 签到操作
    public function onSign()
    {
        return $this->error('b端页面需要完善');

        // 必须是认证会员
        // 获取认证编号
        $logic = new CourseLogic();
        $myUid = $this->myUid;
        $user  = $logic->checkAuthUser($myUid);
        if($user === false){
            return $this->error($logic->getError());
        }

        // 签到状态
        $option = $this->optLogic();
        $option->setField('status', 1);   // 状态 0-未到 1-正常 2-请假

        // 执行签到
        $res = $logic->onSign();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 批量签到操作
    public function bathSign()
    {

        return $this->error('b端页面需要完善');

        // 必须是认证会员
        // 获取认证编号
        $logic = new CourseLogic();
        $myUid = $this->myUid;
        $user  = $logic->checkAuthUser($myUid);
        if($user === false){
            return $this->error($logic->getError());
        }

        // 执行签到
        $res = $logic->bathSign();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 签到记录
    public function signLists()
    {
        // 如果是学员 看自己的课程信息
        $myUid  = $this->myUid;
        $option = $this->optLogic();
        $option->setField('uid', $myUid);

        $logic = new CourseLogic();
        $res   = $logic->signLists();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res);
    }

    // 补课操作


}


